package w83a.w83aOperacionesInternas.w83aLotesPreavisos;

import java.io.File;

import w83a.w83aBeans.W83aLotesPreavisosBean;
import w83a.w83aBeans.W83aUsuarioXLNetsBean;
import w83a.w83aUtilidadesComunes.W83AProperties;
import es.ejie.frmk.negocio.operacioninterna.Q70OperacionInterna;
import es.ejie.frmk.negocio.operacioninterna.Q70OperacionInternaConfigBean;
import es.ejie.frmk.negocio.operacioninterna.Q70OperacionInternaErrors;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

public class W83aDeshacerAltaLoteOIAction extends Q70OperacionInterna {

	protected void preProcessMappingEntrada(Q70ContextoEJIE contexto, Q70OperacionInternaConfigBean configBean, Q70OperacionInternaErrors errors) throws Exception{

		
		//String sessionTokenXLNET = (String)contexto.get(W83aClsConstantes.XLNETS_APLICATIONSESSIONTOKEN);
		
			W83aUsuarioXLNetsBean usuario = (W83aUsuarioXLNetsBean)contexto.get("w83aUsuarioXLNets");
			usuario.setIdioma((String)contexto.get("w83aCgaIdioma"));
			
		//	String firma = (String)contexto.get("firmaEjgv");//NOPMD
		//	String nombreFichero = (String)contexto.get("nombreFichero");//NOPMD
			W83aLotesPreavisosBean w83aPreavisosNuevoBean = (W83aLotesPreavisosBean)contexto.get("w83aPreavisosNuevoBean");//NOPMD
			/*w83aPreavisosNuevoBean.setFirma(firma);
			w83aPreavisosNuevoBean.setNombreFichero(nombreFichero);
			
			w83aPreavisosNuevoBean.setIdioma((String)contexto.get(W83aClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));
			
			w83aPreavisosNuevoBean.setUsuarioBean(usuario);
			w83aPreavisosNuevoBean.setSessionTokenXLNET(sessionTokenXLNET);
			
			W83ASolicitudPreaviso solicitudPreaviso =  (W83ASolicitudPreaviso) contexto.get("solicitudPreaviso");
			w83aPreavisosNuevoBean.setSolicitudPreaviso(solicitudPreaviso);
			*/
			w83aPreavisosNuevoBean.setUsuarioBean(usuario);
			w83aPreavisosNuevoBean.setCodLote((String)contexto.get("codLote"));
			
			//Una vez, firmado el fichero, Borramos el fichero creado en nuestra ruta
			String ruta= W83AProperties.getProperty("w83a", "file.out");
		    File fichero = new File(ruta+(String)contexto.get("nombreFichero"));
		    fichero.delete();
		    
			contexto.set("w83aPreavisosNuevoBean",w83aPreavisosNuevoBean);
			
			
			
			
			/*Q70ContextoEJIE ctx = (Q70ContextoEJIE) contexto;
			
			String sessionTokenXLNET = (String)ctx.get(W83aClsConstantes.XLNETS_APLICATIONSESSIONTOKEN);
			
			String dniXLNET = (String)ctx.get(W83AConstantes.XLNETS_USUDNI);
			String oidUsuarioXLNET = W83AUsuariosDAO.W83AObtenerOidUsuario(dniXLNET);
			W83AUsuarioDTO usuarioXLNET = W83AUsuariosDAO.W83ABuscarUsuarioOid(oidUsuarioXLNET);
			String nombreDelFichero = (String) ctx.get("nombreDelFicheroPreavisos");
			String territorioUsuarioXLNET = W83AUsuariosDAO.W83AObtenerTerritorioUsuario(dniXLNET);
			String idDocusi = (String) contexto.get("idDokusi");

            String idLote = (String)ctx.get("idLotePreaviso");
            W83ASolicitudPreaviso solicitudPreaviso = null;

            solicitudPreaviso = (W83ASolicitudPreaviso) ctx.get("solicitudPreaviso");
            
			
            W83AInformacionProcedimiento info = (W83AInformacionProcedimiento) contexto.get("info");

            ArrayList listaSindicatos = (ArrayList) W83AUsuariosDAO.W83ABuscaUsuariosNotificacion(territorioUsuarioXLNET);
            

            
            W83ATrazas.depura(" Numero de sindicalistas a Notificar: " +listaSindicatos.size());
            W83ANotificacionesDTO informacionNotificacion= new W83ANotificacionesDTO(dniXLNET, usuarioXLNET.getNombreUsuario(), idDocusi, nombreDelFichero, idLote, sessionTokenXLNET, territorioUsuarioXLNET);
            W83ANotificacionThread tareaNotificar=new W83ANotificacionThread(listaSindicatos,info,solicitudPreaviso,informacionNotificacion,W83AConstantes.IDA);
            tareaNotificar.start();
            

            ctx.set("w83a_nextForward", "ok");
*/
			
		
	}
	
	protected void postProcessMappingSalida(Q70ContextoEJIE contexto, Q70OperacionInternaErrors errors) throws Exception {
			
			/*ServletOutputStream out = response.getOutputStream();
			Blob documento=(Blob)contexto.get("ficheroIda");    
	        
	        InputStream inStream = documento.getBinaryStream();
	        
	        response.setContentType("application/octet-stream");
	        response.setHeader("Content-Disposition","attachment;filename=nombreeeeee");
			
	        byte[] outputByte = new byte[4096];
	        while(inStream.read(outputByte, 0, 4096) != -1){
	        	out.write(outputByte, 0, 4096);
	        }
	        inStream.close();
	        out.flush();
	        out.close();
	*/
			
	}
}